/**
 * wechat_osc 版权所有（上海戈品投资管理有限公司） 
 */
package com.rong.controller;
import java.util.Enumeration;
import java.util.Map;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.rong.common.context.Context;
import com.rong.common.exception.CommonException;

/**
 * <pre>
 * 功能说明：Servlet基类
 * 创建日期：2015-7-2
 * 修改记录：
 * </pre>
 * @author king
 * @version v1.0
 */
public class BaseServlet extends HttpServlet
{
	private static final long serialVersionUID = 1L;
	/**
	* <pre>
	* 功能说明：从request中获取参数，放到Context中
	* 创建日期：2015-7-2
	* 修改记录：
	* </pre>
	* @author king
	* @version v1.0
	* @param request
	* @param response
	* @throws Exception
	*/
	protected void initParamToContext( HttpServletRequest request , HttpServletResponse response ) throws Exception
	{
		if( null!= request )
		{
			Enumeration<String> enums=request.getParameterNames();
			String key;
			while(enums.hasMoreElements())
			{
				key = enums.nextElement();
				Context.addParam( key , encodeParam(request.getParameter( key )));
				
				System.out.println( " -------------------------------   "+key + "   : " + request.getParameter( key ) );
				
			}
/*			if(null!= request.getSession().getAttribute("loginUser"))
			{
				Map map = (Map)request.getSession().getAttribute("loginUser");
				Context.addParam("userId", map.get("id"));
			}	*/
		}
		else
		{
			throw new CommonException("request对象不能为空!!");
		}	
		
	}
	
	/**
	* <pre>
	* 功能说明：中文乱码处理/特殊字符处理
	* 创建日期：2015-7-2
	* 修改记录：
	* </pre>
	* @author king
	* @version v1.0
	* @param value
	* @return
	* @throws Exception
	*/
	private String encodeParam( String value ) throws Exception
	{
		String result = value ;
		if( null!=value && !"".equals(value.trim()))
		{
			result = result.replace("<", "&lt;");
			result = result.replace(">", "&gt;");
			result = result.replace(" ", "&nbsp;");
			result = result.replace("\"", "&quot;");
			//result = new String( result.getBytes("ISO8859-1"),"UTF-8");
		}	
		return result;
	}

	/**
	* <pre>
	* 功能说明：创建错误信息结果
	* 创建日期：2015-7-2
	* 修改记录：
	* </pre>
	* @author king
	* @version v1.0
	* @param msg
	* @return
	* @throws Exception
	*/
	protected String getErrorResult( String msg )
	{
		return "{\"result\":-99,\"message\":\""+msg+"\"}";
	}
	
	/**
	* <pre>
	* 功能说明：创建异常信息结果
	* 创建日期：2015-7-2
	* 修改记录：
	* </pre>
	* @author king
	* @version v1.0
	* @param msg
	* @return
	* @throws Exception
	*/
	protected String getExceptionResult( String msg )
	{
		return "{\"result\":-999,\"message\":\""+msg+"\"}";
	}
}
